home *** CD-ROM | disk | FTP | other *** search
/ User's Choice Windows CD / User's Choice Windows CD (CMS Software)(1993).iso / win_q_t / trem.zip / TERMINAL.H < prev    next >
Text File  |  1991-05-11  |  4KB  |  162 lines

  1. /************************************************************************
  2.  *
  3.  *    Copyright (c) 1991 Microsoft Corporation.  All Rights Reserved.
  4.  *
  5.  *-----------------------------------------------------------------------
  6.  *
  7.  *     Project:  Windows Terminal Example
  8.  *
  9.  *      Module:  terminal.h
  10.  *
  11.  *      Author:  Bryan A. Woodruff (baw)
  12.  *
  13.  *
  14.  *     Remarks:  This is the header file!
  15.  *
  16.  *   Revisions:  
  17.  *     01.00.000  5/ 9/91 baw   Wrote it
  18.  *
  19.  ************************************************************************/
  20.  
  21. #include <windows.h>
  22. #include <string.h>
  23.  
  24. #include "version.h"
  25. #include "ascii.h"
  26. #include "res_def.h"
  27.  
  28. // constant definitions
  29.  
  30. #define GWW_TERMINFO  0
  31.  
  32. // terminal size
  33.  
  34. #define MAXROWS   25
  35. #define MAXCOLS   80
  36.  
  37. #define MAXBLOCK       80
  38. #define MAXBAUDRATES   4
  39. #define MAXEVENTS      16
  40.  
  41. #define RXQUEUE        4096
  42. #define TXQUEUE        4096
  43.  
  44. // cursor states
  45.  
  46. #define CS_SHOW        0x10
  47. #define CS_HIDE        0x20
  48.  
  49. // Flow control states
  50.  
  51. #define FC_HARDWARE    0x01
  52. #define FC_SOFTWARE    0x02
  53.  
  54. // COM prefix
  55.  
  56. #define COMPREFIX      "COM"
  57.  
  58. // Timer settings
  59.  
  60. #define TIMER_INTERVAL  50
  61. #define TIMER_EVENT     1
  62.  
  63. // Event messages
  64.  
  65. #define WM_EVENT_RXCHAR  WM_USER + 0x1000
  66.  
  67. // data structures
  68.  
  69. typedef struct tagEVENT
  70. {
  71.    HWND    hWnd ;
  72.    int     nCid ;
  73.    BOOL    fPostFlag ;
  74.    WORD    wEventMask ;
  75.    WORD    wMsg ;
  76.    LPWORD  lpEventPtr ;
  77.  
  78. } EVENT ;
  79.  
  80. typedef struct tagTERMINFO
  81. {
  82.    int    nCid ;
  83.    BYTE   bPort, abScreen[ MAXROWS * MAXCOLS ] ;
  84.    BOOL   fConnected, fXonXoff, fLocalEcho, fNewLine, fAutoWrap ;
  85.    BYTE   bByteSize, bFlowCtrl, bParity, bStopBits ;
  86.    WORD   wBaudRate, wCursorState ;
  87.    HFONT  hDefaultFont, hFont ;
  88.    int    xSize, ySize, xScroll, yScroll, xOffset, yOffset,
  89.           nColumn, nRow, xChar, yChar ;
  90.  
  91. } TERMINFO, NEAR *NPTERMINFO ;
  92.  
  93. // global stuff
  94.  
  95. #ifdef GLOBALDEFS
  96. int      nIdTimer ;
  97. char     szTerminalClass[] = "TerminalWndClass" ;
  98. char     szTerminalMenu[] = "TerminalMenu" ;
  99. char     szTerminalAccel[] = "TerminalAccel" ;
  100. char     szVersion[] = "00.00.000" ;
  101. char     szAppName[] = "Terminal" ;
  102. EVENT    aEvents[ MAXEVENTS ] ;
  103. FARPROC  lpTimerProc ;
  104. HANDLE   hAppInst, hAccel ;
  105. WORD     awBaudRates[ MAXBAUDRATES ] = { 1200, 2400, 4800, 9600 } ;
  106. #else
  107. extern int     nIdTimer ;
  108. extern char     szTerminalClass[] ;
  109. extern char     szTerminalMenu[] ;
  110. extern char     szTerminalAccel[] ;
  111. extern char     szVersion[] ;
  112. extern char     szAppName[] ;
  113. extern EVENT    aEvents[ MAXEVENTS ] ;
  114. extern FARPROC  lpTimerProc ;
  115. extern HANDLE   hAppInst, hAccel ;
  116. extern WORD     awBaudRates[ MAXBAUDRATES ] ;
  117. #endif
  118.  
  119. // function prototypes (private)
  120.  
  121. BOOL InitApplication( HANDLE ) ;
  122. BOOL InitInstance( HANDLE, int, HWND * ) ;
  123. LOCALHANDLE CreateTerminal( HWND ) ;
  124. HFONT CreateTerminalFont( VOID ) ;
  125. BOOL DestroyTerminal( HWND ) ;
  126. BOOL KillTerminalFocus( HWND ) ;
  127. BOOL PaintTerminal( HWND ) ;
  128. BOOL SetTerminalFocus( HWND ) ;
  129. BOOL ScrollTerminalHorz( HWND, WORD, WORD ) ;
  130. BOOL ScrollTerminalVert( HWND, WORD, WORD ) ;
  131. BOOL SizeTerminal( HWND, WORD, WORD ) ;
  132. BOOL WriteCharacter( HWND, BYTE ) ;
  133. BOOL WriteTerminalByte( HWND, BYTE ) ;
  134. BOOL WriteTerminalBlock( HWND, LPSTR, int ) ;
  135. int ReadCommBlock( HWND, LPSTR, int ) ;
  136. BOOL WriteCommByte( HWND, BYTE ) ;
  137. BOOL MoveTerminalCursor( HWND ) ;
  138. BOOL OpenConnection( HWND ) ;
  139. BOOL SetupConnection( HWND ) ;
  140. BOOL CloseConnection( HWND ) ;
  141. BOOL ProcessRxEvent( HWND, WORD, LONG ) ;
  142. VOID GoModalDialogBoxParam( HANDLE, LPSTR, HWND, FARPROC, DWORD ) ;
  143. int GetRadioButton( HWND, int, int ) ;
  144. BOOL SettingsDlgInit( HWND, LOCALHANDLE ) ;
  145. BOOL SettingsDlgTerm( HWND, LOCALHANDLE ) ;
  146.  
  147. BOOL SetEvent( HWND, int, WORD, WORD ) ;
  148. BOOL ClearEvent( HWND, int, WORD ) ;
  149. VOID KillEvent( HWND, int, WORD ) ;
  150.  
  151. // function prototypes (public)
  152.  
  153. LONG FAR PASCAL TerminalWndProc( HWND, WORD, WORD, LONG ) ;
  154. BOOL FAR PASCAL AboutDlgProc( HWND, WORD, WORD, LONG ) ;
  155. BOOL FAR PASCAL SettingsDlgProc( HWND, WORD, WORD, LONG ) ;
  156. WORD FAR PASCAL TimerHandler( HWND, WORD, int, DWORD ) ;
  157.  
  158. /************************************************************************
  159.  * End of File: terminal.h
  160.  ************************************************************************/
  161.  
  162.